Elements in computer and telecommunications networks are sometimes interconnected in highly complex configurations. To aid in the management of such networks, models are sometimes created that are intended to list all elements in a network and record the ways in which they are interconnected. As used herein, the term element refers to a large-scale physical device such as a switch or a router. The word component refers to a physical or logical part of an element such as a circuit card within a switch. The term resource is used generically to refer to an element, a component, a physical port within an element, a logical decomposition within a port such as a wavelength assigned to an optical port, or any unit within a network that can provide information about itself. A list of resources in use and/or available for use in a network can be referred to as an inventory. A description of the ways resources are configured, such as their assigned usage, the other resources to which they are connected, and their relationships to other resources, can be referred to as a topology. Collectively, an inventory and its associated topology constitute a network model. Changes can occur over time in both an actual network and in a network model representing that network. Ideally, every change in the actual network is matched by an equivalent, corresponding change in the network model. However, discrepancies can occur that cause a network model to no longer accurately depict the network it is intended to describe. This can decrease the effectiveness of the network model as a tool used in managing the network.
The sources of such a misalignment between a network model and an actual network can be placed into two categories, process, or human-related, gaps and system gaps. Process gaps can include a failure to properly record the installation or removal of an element, failure to properly record changes to an element, failure to properly record changes to the links interconnecting network elements, failure to record or restore emergency network repairs, human errors and deviations from defined operational processes, operational process deficiencies in the handoff of work between administrative units, operational process deficiencies in handling exceptional conditions, and intentionally deceptive use of network resources. System gaps can include a lack of automated coordination between interdependent models, deficiencies in exchanging information among interdependent models, software defects that corrupt or fail to properly update data records, and system failures that corrupt data records.
Auditing of network elements can be done to discover possible misalignments between a network model and an actual network. A comprehensive audit and reconciliation approach can be defined as having three portions. The auditing process can be defined as the collection of information about the actual status and configuration of network elements and components at a particular moment in time. The comparison process can be defined as the comparison of this actual information to the network model and the documentation of discrepancies between them. The reconciliation process can be defined as the resolution and corresponding elimination of the documented discrepancies between the actual information about the network and the network model.
Traditionally, auditing has been done by periodically querying network elements. Each element thought to be present on a network can be periodically checked by the sending of one or more verifying queries to the element. The queries are intended to invoke replies back from the element providing descriptive information to the originator so that a comparison can be made between the network model and the element's interpreted responses. At a minimum, a response confirms the existence of an element. The content of a response can provide additional detail that can confirm or challenge specific details within a network model. A lack of a response raises a caution. For example, an audit system can use a mechanism such as the Internet Protocol “ping” command as an existence checking function. However, evidence that an element exists at a particular network address does not necessarily provide information regarding what type of element it is, how it is structured, what type of interface it supports, or how its interfaces are configured. In other query techniques, various standard protocols can be used to determine how an element responds. These additional responses received from the element can provide evidence of its identity, structure, and status. Based on the responses received, additional queries may be sent to the element to retrieve more information.
Information obtained from querying a network element can be compared to a network model. An element whose identify, structure, or status in the actual network differs from its identify, structure, or status in the network model can be referred to as a disputed resource. When an audit indicates that a disputed resource exists, the discrepancy has traditionally been recorded and reported for later resolution. Traditional resolution techniques have relied primarily on precedence rules ascribing a higher importance to either the actual network configuration (in which case, the network model is changed to match the network) or to the network model (in which case, the network itself is changed to match the network model).
In the normal course of operating a network, many different types of information about the configuration of elements of the network are created and distributed. Existing approaches to validating the accuracy of a network model do not make use of all available information types and methods of audit and reconciliation. The traditional audit and reconciliation technique is episodic and does not easily support a continuous audit and reconciliation process. Since an audit state model is not integrated with current inventory and topology models, the analysis of trends in the accuracy of a network model is not easily accomplished.